package com.example.authsample; import java.util.LinkedList; import java.util.List; import android.app.ListFragment; import android.content.Context; import android.os.Bundle; import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import com.google.cloud.backend.android.CloudEntity; public class PostListFragment extends ListFragment { // a list of posts on the UI List<CloudEntity> posts = new LinkedList<CloudEntity>(); public void setEntities(List<CloudEntity> data) { posts = data; CardListAdapter adapter = new CardListAdapter(getActivity(), data); setListAdapter(adapter); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); int padding = (int) (getResources().getDisplayMetrics().density * 8); // 8dip ListView listView = getListView(); listView.setPadding(padding, 0, padding, 0); listView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY); listView.setDivider(null); LayoutInflater inflater = LayoutInflater.from(getActivity()); View header = inflater.inflate(R.layout.list_header_footer, listView, false); View footer = inflater.inflate(R.layout.list_header_footer, listView, false); listView.addHeaderView(header, null, false); listView.addFooterView(footer, null, false); } public class CardListAdapter extends ArrayAdapter<CloudEntity> { public CardListAdapter(Context context, List<CloudEntity> data) { super(context, R.layout.list_item_card, R.id.name, data); } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = super.getView(position, convertView, parent); CloudEntity item = getItem(position); TextView tv = (TextView) convertView.findViewById(R.id.name); tv.setText(getCreatorName(item)); CharSequence time = DateFormat.format("hh:mm:ss ", item.getCreatedAt()); tv = (TextView) convertView.findViewById(R.id.time); tv.setText(time); tv = (TextView) convertView.findViewById(R.id.message); tv.setText(item.get("message") + ""); return convertView; } // removing the domain name part from email address private String getCreatorName(CloudEntity b) { if (b.getCreatedBy() != null) { return " " + b.getCreatedBy().replaceFirst("@.*", ""); } else { return "<anonymous>"; } } } }